#include <stdio.h>

void max(int * a, int * b)
{
    if (*a < *b)
        *a = *b;
}

int main()
{
    int a = 5, b = 6;

    max(&a, &b);
    printf("a, b max %d\n", a);

    return 0;
}


#if 0


x/25i 0x0000555555555198 
x/18i 0x0000555555555169


b *0x555555555169:      endbr64 
b *0x55555555516d:      push   %rbp
b *0x55555555516e:      mov    %rsp,%rbp
b *0x555555555171:      mov    %rdi,-0x8(%rbp)
b *0x555555555175:      mov    %rsi,-0x10(%rbp)
b *0x555555555179:      mov    -0x8(%rbp),%rax
b *0x55555555517d:      mov    (%rax),%edx
b *0x55555555517f:      mov    -0x10(%rbp),%rax
b *0x555555555183:      mov    (%rax),%eax
b *0x555555555185:      cmp    %eax,%edx
b *0x555555555187:      jge    0x555555555195
b *0x555555555189:      mov    -0x10(%rbp),%rax
b *0x55555555518d:      mov    (%rax),%edx
b *0x55555555518f:      mov    -0x8(%rbp),%rax
b *0x555555555193:      mov    %edx,(%rax)
b *0x555555555195:      nop
b *0x555555555196:      pop    %rbp
b *0x555555555197:      retq

b *0x555555555198:      endbr64 
b *0x55555555519c:      push   %rbp
b *0x55555555519d:      mov    %rsp,%rbp
b *0x5555555551a0:      sub    $0x10,%rsp
b *0x5555555551a4:      mov    %fs:0x28,%rax
b *0x5555555551ad:      mov    %rax,-0x8(%rbp)
b *0x5555555551b1:      xor    %eax,%eax
b *0x5555555551b3:      movl   $0x5,-0x10(%rbp)
b *0x5555555551ba:      movl   $0x6,-0xc(%rbp)
b *0x5555555551c1:      lea    -0xc(%rbp),%rdx
b *0x5555555551c5:      lea    -0x10(%rbp),%rax
b *0x5555555551c9:      mov    %rdx,%rsi
b *0x5555555551cc:      mov    %rax,%rdi
b *0x5555555551cf:      callq  0x555555555169
b *0x5555555551d4:      mov    -0x10(%rbp),%eax
b *0x5555555551d7:      mov    %eax,%esi
b *0x5555555551d9:      lea    0xe24(%rip),%rdi        # 0x555555556004
b *0x5555555551e0:      mov    $0x0,%eax
b *0x5555555551e5:      callq  0x555555555070 <printf@plt>
b *0x5555555551ea:      mov    $0x0,%eax
b *0x5555555551ef:      mov    -0x8(%rbp),%rcx
b *0x5555555551f3:      xor    %fs:0x28,%rcx
b *0x5555555551fc:      je     0x555555555203
b *0x5555555551fe:      callq  0x555555555060 <__stack_chk_fail@plt>
b *0x555555555203:      leaveq 
  


#endif

